﻿using Dao;
using Interface.BO;
using Interface.DAO;
using JMI_Nucleo.JMIProvider;
using OR;
using System;
using System.Data.Common;

namespace BO
{
    public class TabelaImagem : ITabelaImagem
    {
        private ITabelaImagemDao<mTabelaImagem> dao;

        public TabelaImagem()
        {
            dao = DaoFactory<TabelaImagemDao>.Create();
        }

        public bool Salvar(mTabelaImagem infoImagem, char Acao)
        {
            bool retorno = false;
            DbTransaction trans;
            try
            {
                EngineBD.Conectar();
                trans = EngineBD.IniciaTransacao();
                if (Acao == 'I')
                    retorno = dao.Inserir(infoImagem);
                else if (Acao == 'A')
                    retorno = dao.Alterar(infoImagem);
                EngineBD.FinalizaTransacao(trans, retorno);
            }
            finally
            {
                EngineBD.Desconectar();
            }
            return retorno;
        }
        public bool Excluir(string Tabela, int Chave)
        {
            bool retorno = false;
            mTabelaImagem infoImagem = new mTabelaImagem();
            DbTransaction trans;
            try
            {
                EngineBD.Conectar();
                trans = EngineBD.IniciaTransacao();
                retorno = dao.Excluir(Tabela, Chave);
                EngineBD.FinalizaTransacao(trans, retorno);
            }
            finally
            {
                EngineBD.Desconectar();
            }
            return retorno;
        }

        public mTabelaImagem GetImagem(string Tabela, int Chave)
        {
            mTabelaImagem _mTabelaImagem;

            try
            {
                EngineBD.Conectar();
                _mTabelaImagem = dao.GetImagem(Tabela, Chave);
            }
            finally
            {
                EngineBD.Desconectar();
            }
            return _mTabelaImagem;
        }
    }
}
